// VBXML.h

#ifndef __VBXML_h__
#define __VBXML_h__


#include "VBXML/VBXML_common.h" // this should be the first one

#include "VBXML/VBException_XML.h"
#include "VBXML/VBStringXML.h"
#include "VBXML/VBDomErrorReporter.h"

namespace br {
namespace com {
namespace sbVB {
namespace VBXML {

VBXML_DLL_API bool existElement(XERCES_CPP_NAMESPACE::DOMNode* node,const char* tagName);

VBXML_DLL_API br::com::sbVB::VBLib::VBString getElementValue(XERCES_CPP_NAMESPACE::DOMNode* node,const char* tagName);

VBXML_DLL_API br::com::sbVB::VBLib::VBString getElementValue(XERCES_CPP_NAMESPACE::DOMNode* node
	,const char* tagName_1,const char* tagName_2);
VBXML_DLL_API br::com::sbVB::VBLib::VBString getElementValue(XERCES_CPP_NAMESPACE::DOMNode* node
	,const char* tagName_1,const char* tagName_2,const char* tagName_3);

VBXML_DLL_API br::com::sbVB::VBLib::VBString getNthElementValue(XERCES_CPP_NAMESPACE::DOMNode* node,const char* tagName, unsigned i
	,const char* tagNameInner);


// these declarations must be after declaration of VBStringXML
VBXML_DLL_API br::com::sbVB::VBXML::VBStringXML t2u(const char *textStr); // text to unicode
VBXML_DLL_API br::com::sbVB::VBLib::VBString u2t(const XMLCh *unicodeStr); // unicode to text

}}}} // end of namespace ::br::com::sbVB::VBXML


#endif // __VBXML_h__

